import axios from 'axios'
import JSONbig from 'json-bigint'
import { getToken } from '@/utils/storage'
// 创建一个自定义的axios实例
const request = axios.create({
  // 请求接口的公共地址
  baseURL: 'http://ttapi.research.itcast.cn',
  // 如果请求接口超过3000毫秒,失败处理
  timeout: 3000,
  // 对相应回来的数据进行修改
  transformResponse: [function (data) {
    // 用可以处理大数的方法对 data 进行转换
    let result
    try {
      result = JSONbig.parse(data)
    } catch {
      // 如果不是json 返回原数据
      result = data
    }
    return result
  }]
})

// 给每一次请求设置拦截器
// 添加请求拦截器
request.interceptors.request.use(function (config) {
  // 如果token存在就给请求头中加入token
  const token = getToken()
  if (token) {
    config.headers.authorization = 'Bearer ' + token
  }
  return config
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error)
})
export default request
